package dao;

import java.util.ArrayList;
import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.criterion.Restrictions;

import entity.Consulta;
import entity.Procedimento;

public class ProcedimentoDAO extends BaseDAO {
	
	public ProcedimentoDAO(){
		super(Procedimento.class);
	}

	@SuppressWarnings("unchecked")
	public List<Procedimento> findByPaciente(String paciente) {
		Criteria criteria = this.createCriteria(Consulta.class);
		Criteria crit = criteria.createCriteria("paciente");
		if (paciente != null) {
			
			crit.add(Restrictions.like("nome", paciente));
		}
		
		List<Consulta> consultas = criteria.list();
		List<Procedimento> procs = new ArrayList<Procedimento>();
		for (Consulta consulta : consultas) {
			procs.add(consulta.getProcedimento());
		}
		return procs;

	}
	
	public Procedimento findByNome(String nome){
		Criteria criteria = this.createCriteria();
		criteria.add(Restrictions.eq("nome", nome));
		return (Procedimento) criteria.uniqueResult();
	}

}
